<?php
class TipoOperacionesAlmacenesController extends AppController {

	var $name = 'TipoOperacionesAlmacenes';
	var $appModule = 'Almacen';
	var $helpers = array('Html','Form','Ajax','Javascript','Paginator','GetList');
	var $components = array('RequestHandler');
	var $paginate = array('order' => array('TipoOperacionesAlmacene.id' => 'DESC'));

	function index($q = null){
		$conditions['TipoOperacionesAlmacene.activo']=true;
		$conditions['TipoOperacionesAlmacene.empresa_id']=$this->empresaId();
		//verificando si se hizo busqueda por formulario
                $q = $this->getBusqueda($this->data['TipoOperacionesAlmacene']['busqueda']);
		if(!empty($q)){
			$conditions['OR'] = array(
				'TipoOperacionesAlmacene.descripcion SIMILAR TO' => $this->likeAtCenter($q),
				'TipoOperacionesAlmacene.codigo SIMILAR TO'=>$q
			);
		}

        if (!empty($this->params['url']['limite']))
			{$this->limite = $this->params['url']['limite'];}
        $this->data['TipoOperacionesAlmacene']['pagesize']=$this->paginate['limit']=$this->limite;
        $data = $this->paginate($conditions);
        $this->set('q',$q);
        $this->set('tipos', $data);
        $this->set('limite', $this->limite);
	}

	function add() {
            if (!empty($this->data)) {
                $this->data['TipoOperacionesAlmacene']['empresa_id'] = $this->empresaId();
                $this->data['TipoOperacionesAlmacene']['usuario_creacion_id'] = $this->usuarioId();
                $this->data['TipoOperacionesAlmacene']['fecha_cracion'] = 'now()';
                $this->data['TipoOperacionesAlmacene']['activo'] = 1;

                $this->TipoOperacionesAlmacene->begin();
                $this->TipoOperacionesAlmacene->create();
                if ($this->TipoOperacionesAlmacene->save($this->data)) {
                    $this->TipoOperacionesAlmacene->commit();
                    $this->Session->setFlash('El tipo de movimiento de almacen fue registrado correctamente');
                    $this->redirect(array('action'=>'index'),null,true);
                } else {
                    $this->TipoOperacionesAlmacene->rollback();
                    $this->Session->setFlash('No se pudo guardar el tipo de movimiento');
                }
            }
	}

	function edit($id = null) {
		if (!$id && empty($this->data)) {
                    $this->Session->setFlash('Identificador invalido');
                    $this->redirect(array('action'=>'index'));
		}

		if (!empty($this->data)) {
                    $this->TipoOperacionesAlmacene->begin();
                    if ($this->TipoOperacionesAlmacene->save($this->data)) {
                        $this->TipoOperacionesAlmacene->commit();
                        $this->Session->setFlash('El tipo de movimiento de almacen fue actualizado correctamente');
                        $this->redirect(array('action'=>'index'),null,true);
                    } else {
                        $this->TipoOperacionesAlmacene->rollback();
                        $this->Session->setFlash('No se pudo guardar el tipo de movimiento');
                    }
		} else {
                    $this->data = $this->TipoOperacionesAlmacene->read(null,$id);
		}
	}

	function process($id=null){
                $this->autoRender = false;
                $this->autoLayout = false;

                if (!$id && empty($this->data)) {
                                $this->Session->setFlash('debe seleccionar registros para eliminar');
                                $this->redirect(array('action'=>'index'),null,true);
                }
                if(!empty($this->data)){
			$mensaje = 'debe seleccionar registros para eliminar';
			foreach($this->data['TipoOperacionesAlmacene'] as $id=>$val){
				if(!empty($val)){
					if($this->delete($id)){
						$mensaje = 'los registros seleccionados fueron eliminaros correctamente';
					} else {
						$mensaje = 'hubo un error al intentar eliminar uno de los registros';
						break;
					}
				}
			}
		} else {
			if($this->delete($id)){
				$mensaje = 'el registro fue eliminado correctamente';
			} else {
				$mensaje = 'hubo un error al intentar eliminar el registro';
			}
		}
		$this->Session->setFlash($mensaje);
		$this->redirect(array('action'=>'index'),null,true);
        }

	function delete($id=null){
		if(!$id){
                    return false;
		}
		$data['TipoOperacionesAlmacene']['id']=$id;
                $data['TipoOperacionesAlmacene']['activo']=0;
                $data['TipoOperacionesAlmacene']['usuario_borrado_id']=$this->_usuario['id'];
                $data['TipoOperacionesAlmacene']['fecha_borrado']='now()';

                if ($this->TipoOperacionesAlmacene->save($data)){
                    return true;
                } else {
                    return false;
		}
	}


}
?>